package com.ws.test;


import java.util.Arrays;

import java.util.Scanner;

/**
 * @author 王硕
 * @version jdk21
 * @className test01
 * @description
 * @date 2024/10/31 20:03
 */
public class test01 {
    public class Test {
        public static void main(String[] args){int m =1,n= 3;m1(m,n);System.out.println(m);
            System.out.println(n);
        }
            private static void m1(int a, int b){int temp = a;a = b;
                b = temp;}

    private static void test07() {
        //公司开发部5名开发人员，要进行项目进展汇报演讲，现在采取随机排名后进行汇报。 请先依次录入5名员工的工号，然后展示出一组随机的排名顺序
        Scanner scanner= new Scanner(System.in);
        int array[]=new int[5];
        System.out.println("请输入员工号例如:2023561");
        for (int i=0;i<array.length;i++){
            System.out.println("请输入第"+(i+1)+"个员工号:");
            int inputnumber = scanner.nextInt();
            if (!(inputnumber>2023000&&inputnumber<2024000)){
                System.out.println("输入有误请重试");
                i--;
                continue;
            }
            array[i]=inputnumber;
        }System.out.println("请输入员工号依次为:");
        System.out.println(Arrays.toString(array));
        for (int i = array.length - 1; i > 0; i--) {
            int j = (int) (Math.random() * (i + 1));
            int temp = array[j];
            array[j] = array[i];
            array[i] = temp;
        }
        System.out.println("随机排名顺序为:");
        System.out.println(Arrays.toString(array));
        scanner.close();
    }
    private static void test06() {
        //现有4个数字为6、7、9、5，能组成多少个互不相同且无重复数字的三位数？都是多少？例如有679，675，697，695，657，659.....等等
        int[] array = {6,7,9,5};
        int count = 0;
        for (int i=0;i<array.length;i++){
            for (int j=0;j<array.length;j++){
                if (array[i]==array[j]){
                    continue;
                }
                for (int k=0;k<array.length;k++){
                    if (array[i]!=array[k]&&array[k]!=array[j]){
                        System.out.println(array[i] * 100 + array[j] * 10 + array[k]);
                        count++;
                    }
                }
            }
        }
        System.out.println(count);
    }

    private static void test05() {
        //自定义一个String数组array，现输入一个数据x，要在数组array中删除所有出现的x，删除之后后面的元素依次向前移动
        Scanner scanner= new Scanner(System.in);
        String[] array = {"xw", "xh", "xl", "xi", "xw", "xz","xw", "xh"};
        System.out.println(Arrays.toString(array));
        System.out.println("请输入你要删除的名字");
        String inputstr = scanner.next();
        int j=0;
        for (int i=0;i<array.length;i++){
            if (!inputstr.equals(array[i])){
                array[j]=array[i];
                j++;
            }
        }
        String[] newArray = Arrays.copyOf(array,j);
        System.out.println(Arrays.toString(newArray));
    }

    private static void test04() {
        //定义一个长度为31的整数数组，依次放入的2的若干次方，第一个放1，第二个放2，第三个放4，第四个放8。。。。并输出
        //int[] num= {1,2,4,8,16,32,64,128,256,512,1024,2028,4056,8112,16224,32448.....}
        int num[]=new int[31];
        for (int i=0;i< num.length;i++){
            num[i]= (int) Math.pow(2,i);
        }
        System.out.println(Arrays.toString(num));
    }

    private static void test03() {
        //现在有如下一个数组： int[]  oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 要求将以上数组中的0项去掉，
        // 将不为0的值存入一个新的数组，生成新的数组为 int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5};
        int[]  oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
        int count = 0;
        for (int value : oldArr) {
            if (value != 0) {
                count++;
            }
        }
        int index=0;
        int newArr[]=new int[count];
        for (int value : oldArr) {
            if (value != 0) {
                newArr[index++] = value;
            }
        }
        System.out.println(Arrays.toString(newArr));
    }

    private static void test02() {
        //声明一个int型的数组，循环接收8个学生的成绩，计算这8个学生的总分、平均分、最高分、最低分
        Scanner scanner = new Scanner(System.in);
        int[] stuscore = new int[8];
        for (int i=0;i< stuscore.length;i++){
            System.out.println("请输入第"+(i+1)+"个学生的成绩:");
            int inputscore = scanner.nextInt();
            if(!(inputscore>=0&&inputscore<=150)){
                System.out.println("输入有误请重试");
                i--;
                continue;
            }
            stuscore[i]=inputscore;
        }
        int sum=0;
        int max = stuscore[0];
        int min = stuscore[0];
        for (int j = 0; j < stuscore.length; j++) {
            sum += stuscore[j];
            if (max < stuscore[j]) {
                max = stuscore[j];
            }
            if (min > stuscore[j]) {
                min = stuscore[j];
            }
        }
        System.out.println("总成绩为"+sum);
        System.out.println("平均成绩为"+(sum/8));
        System.out.println("最高分"+max);
        System.out.println("最低分"+min);
    }

    private static void test01() {
        //声明一个字符串的数组，空间为5个。使用循环接收五个学生的姓名。再使用循环倒序输出这5个学生的名字
        Scanner scanner = new Scanner(System.in);
        String[] stuname = new String[5];
        for (int i=0;i< stuname.length;i++){
            System.out.println("请输入第"+(i+1)+"个学生的名字:");
            String inputname = scanner.next();
            stuname[i]=inputname;
        }
        for (int j= stuname.length;j>0;j--){
            System.out.println(stuname[j-1]);
        }
    }
}
